package com.usbserial.scale.adapter.aclas;

import com.usbserial.scale.adapter.ScaleDeviceIdentifier;

/**
 * 顶尖Aclas OS2X 电子秤适配器
 *
 * 设备信息：
 * - 制造商：顶尖Aclas
 * - 型号：OS2X
 * - 规格：HX15XYS (XY=01/11/12)
 * - 最大称重：15kg
 * - USB芯片：CH340 (VID=0x1A86 PID=0x7523)
 *
 * 数据格式：
 * - 长度：16字节
 * - 格式：[SOH][STX][状态 重量单位校验][ETX][EOT][校验]
 * - 示例：01 02 53 20 30 30 2E 37 30 36 6B 67 60 03 04 00
 * - 解码：SOH STX S 00.706kg` ETX EOT NULL
 *   - S = Stable (稳定状态，由状态字符'S'决定)
 *   - 00.706 = 重量值
 *   - kg = 千克单位
 *   - ` (0x60) = 校验字符（随数据变化）
 */
public class AclasOS2XAdapter extends AbstractAclasAdapter {

    private static final String NAME = "Aclas OS2X Adapter";
    private static final String VERSION = "2.0.2";
    private static final String MODEL = "OS2X";

    @Override
    protected String getAdapterName() {
        return NAME;
    }

    @Override
    protected String getAdapterVersion() {
        return VERSION;
    }

    @Override
    protected String getModelName() {
        return MODEL;
    }

    @Override
    public ScaleDeviceIdentifier getDeviceIdentifier() {
        return new ScaleDeviceIdentifier.Builder()
            .manufacturer("Aclas")
            .model(MODEL)
            .specification("HX15.*S")  // 支持 HX1501S, HX1511S, HX1512S
            .vendorId(0x1A86)  // CH340 USB芯片
            .productId(0x7523)
            .build();
    }
}
